The present invention relates to display and modification of streaming and downloading media content, and more specifically, to serving media content dynamically modified to the client device.
Methods are known for streaming and downloading media content, for example, across the Internet from a server to a client device in response to a client request for media content. Existing technologies use a traditional static file serving interface, in which a complete file or a client-requested byte range of files is served to a client. The file is usually stored or cached on the server for playback. Typically, if a user wants to view media content in this manner, a specialized client player application for playing the media content must be downloaded and installed on a client system. The server and client player application then use specialized protocols, file formats, and video encodings to transmit, decode and playback the media content. Normally, the media server can determine the nominal speed of its connection to the client. However, the media server has no knowledge of the actual read rate of the client device, which may differ considerably from the connection speed. As a result the media server cannot control the transmission of the media file to allow the user to fully control the how the media file is being played back.